#!/bin/bash

_help(){
cat << fim
	Execute assim:
fim
_usage
}

_usage(){
	echo -e "\n $0 {[-h|--help|?]}"
	echo -e "\n $0 t1 [-h] [-l op] op1 op2 .."
	echo -e "\n $0 t2 [-a] [-h] [-l op]"
	echo -e "\n $0 t3 [-h] [-a op] [-l op]"
	echo -e "\n"
}

_teste(){
while getopts 'l:h' OPT_LETRA 
do 
        echo "getopts fez a variavel OPT_LETRA igual a '$OPT_LETRA'" 
        echo " OPTARG eh '$OPTARG'" 
done 

used_up=`expr $OPTIND - 1` 
echo "Dispensando os primeiros \$OPTIND-1 = $used_up argumentos" 
shift $used_up 
echo "O que sobrou da linha de comandos foi '$*'"
}

_teste2(){
while getopts 'hal:' opt
do
	echo "opt $opt"
	echo "optarg '$OPTARG'"
	echo $*
done
}

_teste3(){
while getopts 'ha:l:' opt
do
	case $opt in
	 h) 	echo "opt $opt";;
	 a|l) 	echo "opt $opt";
		echo "optarg '$OPTARG'";;
	esac
	#echo $*
done
}

_menu(){
case $1 in
	t1) 
	shift 1 
	_teste $*
	;;
	t2) 
	shift 1
	_teste2 $*
	;;
	t3) 
	shift 
	_teste3 $*
	;;
	t4)
	;;
	--help|-h|?) _help;;
	*) _usage;;
esac
}

_menu $@
